package study.member.sungil.casting;

/**
 * @author : hiyogils
 * @date : 2014. 11. 18.
 * @description : 모든 리터럴과 변수에는 타입이 있다는 것을 배웠다. 프로그램을 작성하다 보면 , 서로 다른 타입의 값으로 연산을 수행해야하는 경우가 자주 발생한다.
 * 모든 연산은 기본적으로 같은 타입의 피연자(operand)간에만 수행될 수 있으므로 , 서로 다른 타입의 피연사잔간의 연산을 수행해야하는 경우, 연산을 수행하기 전에 형변환을 통해 같은 타입으로 변환해주어야 한다. 
 */
public class CastingEx {
	public static void main(String[] args) { 
		String line = "--------------------------------------------------------";
		// 방법
		//형변환하고자 하는 변수나 리터럴 앞에 변환하고자 하는 타입을 괄호와 함께 붙여주기만 하면 된다.
		int score = (int)84.3; //double 형 값을 int 형으로 변환하여 score에 85가 저장된다. 
		byte b = (byte)score;
		
		System.out.println("score : " + score );
		System.out.println("b : " + b );
		
		System.out.println(line);
		
		double d = 100.0;
		int i = 100;
		int result = 1 + (int)d;
		System.out.println("d= " + d + " <- 형변환 후에도 피연사자에는 아무런 변화가 없다.");
		System.out.println("i= " + i);
		System.out.println("result= " + result);
		
				
	}
}
